package com.cxyd.modules.wms.service;

import com.cxyd.common.service.CrudService;
import com.cxyd.common.utils.ProcResult;
import com.cxyd.common.utils.Result;
import com.cxyd.modules.wms.dto.AllotTempDTO;
import com.cxyd.modules.wms.dto.OrderDetailDTO;
import com.cxyd.modules.wms.entity.OrderDetailEntity;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;
import java.util.Map;

/**
 * 出库明细
 *
 * @author g_Cycle gengruyi01@163.com
 * @since 1.0.0 2023-04-27
 */
public interface OrderDetailService extends CrudService<OrderDetailEntity, OrderDetailDTO> {
    Result procDetailAutoAllot(Map<String,Object> params);
    void procDetailManualExec(Map<String,Object> params);
    ProcResult procDetailBatchExec(Long[] ids,Long userId);
    Result procDetailRefund(Map<String,Object> params);
    Result procDetailManualAllot(List<AllotTempDTO> dtoList, Long userId);
    void save(OrderDetailDTO dto);
    int batchSave(List<OrderDetailEntity> details);
    void update(OrderDetailDTO dto);
    void delete(@RequestBody Long[] ids);

    List<OrderDetailEntity> findByOrderId(Long orderId);
}